export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>; //将参数变为可选

// type PersonWithOptionalAge = Optional<Person, 'age'>;
// type PersonWithOptionalAge = {
//   name: string;
//   address: string;
//   age?: number; // 注意这里的 'age' 属性已经变为可选的
// };

export type Arbitrarilyable<T, U> = {
  [K in keyof T]: T[K] | U;
};
